|
Showing 1 - 2 of
2 matches in All Departments
Parallel Computing is a compelling vision of how computation can
seamlessly scale from a single processor to virtually limitless
computing power. Unfortunately, the scaling of application
performance has not matched peak speed, and the programming burden
for these machines remains heavy. The applications must be
programmed to exploit parallelism in the most efficient way
possible. Today, the responsibility for achieving the vision of
scalable parallelism remains in the hands of the application
developer.
This book represents the collected knowledge and experience of over
60 leading parallel computing researchers. They offer students,
scientists and engineers a complete sourcebook with solid coverage
of parallel computing hardware, programming considerations,
algorithms, software and enabling technologies, as well as several
parallel application case studies. The Sourcebook of Parallel
Computing offers extensive tutorials and detailed documentation of
the advanced strategies produced by research over the last two
decades
application case studies. The Sourcebook of Parallel Computing
offers extensive tutorials and detailed documentation of the
advanced strategies produced by research over the last two
decades
* Provides a solid background in parallel computing
technologies
* Examines the technologies available and teaches students and
practitioners how to select and apply them
* Presents case studies in a range of application areas including
Chemistry, Image Processing, Data Mining, Ocean Modeling and
Earthquake Simulation
* Considers the future development of parallel computing
technologies and the kinds of applications they will support
Modern computer architectures designed with high-performance
microprocessors offer tremendous potential gains in performance
over previous designs. Yet their very complexity makes it
increasingly difficult to produce efficient code and to realize
their full potential. This landmark text from two leaders in the
field focuses on the pivotal role that compilers can play in
addressing this critical issue.
The basis for all the methods presented in this book is data
dependence, a fundamental compiler analysis tool for optimizing
programs on high-performance microprocessors and parallel
architectures. It enables compiler designers to write compilers
that automatically transform simple, sequential programs into forms
that can exploit special features of these modern
architectures.
The text provides a broad introduction to data dependence, to the
many transformation strategies it supports, and to its applications
to important optimization problems such as parallelization,
compiler memory hierarchy management, and instruction scheduling.
The authors demonstrate the importance and wide applicability of
dependence-based compiler optimizations and give the compiler
writer the basics needed to understand and implement them. They
also offer cookbook explanations for transforming applications by
hand to computational scientists and engineers who are driven to
obtain the best possible performance of their complex
applications.
The approaches presented are based on research conducted over the
past two decades, emphasizing the strategies implemented in
research prototypes at Rice University and in several associated
commercial systems. Randy Allen and Ken Kennedy have provided an
indispensable resource for researchers, practicing professionals,
and graduate students engaged in designing and optimizing compilers
for modern computer architectures.
* Offers a guide to the simple, practical algorithms and approaches
that are most effective in real-world, high-performance
microprocessor and parallel systems.
* Demonstrates each transformation in worked examples.
* Examines how two case study compilers implement the theories and
practices described in each chapter.
* Presents the most complete treatment of memory hierarchy issues
of any compiler text.
* Illustrates ordering relationships with dependence graphs
throughout the book.
* Applies the techniques to a variety of languages, including
Fortran 77, C, hardware definition languages, Fortran 90, and High
Performance Fortran.
* Provides extensive references to the most sophisticated
algorithms known in research.
|
|